package com.ferryc.modules.sys.service;

import java.util.List;

import com.ferryc.commons.entity.LayTree;
import com.ferryc.commons.entity.TreeNode;
import com.ferryc.commons.service.ICommonService;
import com.ferryc.modules.sys.entity.SysMenu;

/**
 * 
 * 类名: ISysMenuService <br/>
 * 作用： 服务层接口<br/>
 * 方法： <br/>
 * 创建者: Ferry C <br/>
 * 添加时间: 2017年11月26日 04:09:02 <br/>
 * 
 */
public interface ISysMenuService extends ICommonService<SysMenu> {

	/**
	 * 字典树
	 * 
	 * @param sysMenu
	 *            SysMenu
	 * @return
	 */
	public List<TreeNode> selectTreeList(SysMenu sysMenu);

	/**
	 * 类型编码校验
	 * 
	 * @param sysMenu
	 *            SysMenu
	 * @return
	 */
	public boolean checkMenuName(SysMenu sysMenu);

	/**
	 * 权限字符串校验
	 * 
	 * @param sysMenu
	 *            SysMenu
	 * @return
	 */
	public boolean checkPermission(SysMenu sysMenu);

	/**
	 * 获取权限树
	 * 
	 * @param permissionsId
	 * @return
	 */
	public List<LayTree> selectTreePermList(String permissionsId);

	/**
	 * 检查子节点
	 * 
	 * @param sysDict
	 * @return
	 */
	public boolean checkChild(SysMenu sysMenu);

	/**
	 * 获取用户ID
	 * 
	 * @param userId
	 * @return
	 */
	List<SysMenu> getUserMenuById(String userId);

}